package 第一讲基础算法;

import java.util.Scanner;

public class AcWing788 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int[] arr=new int[n];
		for(int i=0;i<n;i++) {
			arr[i]=sc.nextInt();
		}
		sc.close();
		System.out.println(mergesort(arr,0,n-1));
		
	}

	private static long mergesort(int[] arr, int l, int r) {
		if(l>=r) return 0;
		int mid=l+r>>1;
		long res=mergesort(arr,l,mid)+mergesort(arr,mid+1,r);
		//归并中统计逆序对，就是前面数大于后面数的个数
		int k=0,i=l,j=mid+1;
		int[] tmp=new int[r-l+1];
		while(i<=mid&&j<=r) {
			if(arr[i]<=arr[j]) {
				tmp[k++]=arr[i++];
			}else {//需要统计的地方
				tmp[k++]=arr[j++];
				res+=mid-i+1;//当arr[i]>arr[j]时，前面区间i之后的数都会大于arr[j]，也就是逆序对
			}
		}
		while(i<=mid) tmp[k++]=arr[i++];
		while(j<=r) tmp[k++]=arr[j++];
		for(i=l,j=0;i<=r;i++,j++) arr[i]=tmp[j];
		return res;
	}

}
